#region using statements

using DPSF;

using NGen.Managers;

#endregion

namespace NGen.Experimental.DPSF
{
	public interface IManagerParticles : IGameManager
	{
		/// <summary>
		/// 	get or set the default number of particles to initially allocate memory for, per system
		/// </summary>
		int DefaultInitialParticleAllocationCountPerSystem { get; set; }

		/// <summary>
		/// 	get or set the default maximum number of particles per system
		/// </summary>
		int DefaultMaximumParticlesPerSystem { get; set; }

		/// <summary>
		/// 	add a particle system to the manager
		/// </summary>
		/// <param name = "p_system">the system to add</param>
		void AddParticleSystem(IDPSFParticleSystem p_system);

		/// <summary>
		/// 	remove a particle system from the manager
		/// </summary>
		/// <param name = "p_system">the system to remove</param>
		void RemoveParticleSystem(IDPSFParticleSystem p_system);

		/// <summary>
		/// 	Returns the DPSF particle system manager object
		/// </summary>
		/// <returns></returns>
		ParticleSystemManager GetInternalParticleManager();
	}
}